Developers can use an integrated development environment (IDE) to create software. An IDE typically consists of a software source code editor, build automation tools, and a debugger, and is designed to maximize programmer productivity by providing functionalities such as ease coding, when compared to a plain text editor, such as syntax highlighting; command-completion; and building processes, interfaces for a software source code management system, and unit test infrastructure. Additional information from running applications can also be used to improve a software development process.